package helper

import (
	"context"

	"mall/service/wpgql/api/internal/graph/util"
)

func GetBlogGeneralSettingPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogGeneralSetting, "")
}

func GetBlogLayoutMenuPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogLayoutMenu, "")
}

func GetBlogPagePreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogPage, "")
}

func GetBlogPageNodesPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogPage, util.DefaultLevels.Nodes)
}

func GetBlogPostPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogPost, "")
}

func GetBlogPostNodesPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogPost, util.DefaultLevels.Nodes)
}

func GetBlogBookPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogBook, "")
}

func GetBlogBookNodesPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogBook, util.DefaultLevels.Nodes)
}

func GetBlogBookNodePreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogBook, util.DefaultLevels.EdgesNode)
}

func GetBlogContentNodePreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.BlogContentNode, "")
}

func GetForumForumPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumForum, "")
}

func GetForumForumNodePreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumForum, util.DefaultLevels.EdgesNode)
}

func GetForumForumPreloadsWithLevel(ctx context.Context, level string) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumForum, level)
}

func GetForumTopicPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumTopic, "")
}

func GetForumTopicNodePreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumTopic, util.DefaultLevels.EdgesNode)
}

func GetForumTopicPreloadsWithLevel(ctx context.Context, level string) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumTopic, level)
}

func GetForumPostPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumPost, "")
}

func GetForumPostNodePreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumPost, util.DefaultLevels.EdgesNode)
}

func GetForumPostPreloadsWithLevel(ctx context.Context, level string) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumPost, level)
}

func GetForumReactionPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumReaction, "")
}

func GetForumReactionNodePreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumReaction, util.DefaultLevels.EdgesNode)
}

func GetForumReactionPreloadsWithLevel(ctx context.Context, level string) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumReaction, level)
}

func GetForumUserPreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumUser, "")
}

func GetForumUserNodePreloads(ctx context.Context) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumUser, util.DefaultLevels.EdgesNode)
}

func GetForumUserPreloadsWithLevel(ctx context.Context, level string) (string, string) {
	return util.GetPreloadsWithLevel(ctx, util.RpcEntityNames.ForumUser, level)
}
